16 research outputs found

    Uniqueness Typing for Resource Management in Message-Passing Concurrency

    Get PDF
    We view channels as the main form of resources in a message-passing programming paradigm. These channels need to be carefully managed in settings where resources are scarce. To study this problem, we extend the pi-calculus with primitives for channel allocation and deallocation and allow channels to be reused to communicate values of different types. Inevitably, the added expressiveness increases the possibilities for runtime errors. We define a substructural type system which combines uniqueness typing and affine typing to reject these ill-behaved programs

    Design and Evaluation of a Magnetic Rotablation Catheter for Arterial Stenosis

    Get PDF
    Arterial stenosis is a high-risk disease accompanied by large amounts of calcified deposits and plaques that develop inside the vasculature. These deposits should be reduced to improve blood flow. However, current methods used to reduce stenosis require externally-controlled actuation systems resulting in limited workspace or patient risks. This results in an unexplored preference regarding the revascularization strategy for symptomatic artery stenosis. In this paper, we propose a novel internally-actuated solution: a magnetic spring-loaded rotablation catheter. The catheter is developed to achieve stenosis-debulking capabilities by actuating drill bits using two internal electromagnetic coils and a magnetic reciprocating spring-loaded shaft. The state-space model of the catheter is validated by comparing the simulation results of the magnetic fields of the internal coils with the experimental results of a fabricated prototype. Contact forces of the catheter tip are measured experimentally, resulting in a maximum axial force of 2.63 N and a torque of 5.69 mN-m. Finally, we present interventions in which the catheter is inserted to a vascular target site and demonstrate plaque-specific treatment using different detachable actuator bits. Calcified deposits are debulked and visualized via ultrasound imaging. The catheter can reduce a stenosis cross-sectional area by up to 35%, indicating the potential for the treatment of calcified lesions, which could prevent restenosis

    E.: Uniqueness typing simplified—technical appendix

    No full text
    This technical report is an appendix to Uniqueness Typing Simplified [7], in which we show how uniqueness typing can be simplified by treating uniqueness attributes as types of a special kind, allowing arbitrary boolean expressions as attributes, and avoiding subtyping. In the paper, we define a small core uniqueness type system (a derivative of the simply typed lambda calculus) that incorporates these ideas. We also outline how soundness with respect to the call-by-need semantics [11] can be proven, but we do not give any details. This report describes the entire proof, which is written using the proof assistant Coq [3]. The proof itself (a

    Formal polytypic programs and proofs

    No full text
    The aim of our work is to be able to do fully formal, machine-verified proofs over Generic Haskell-style polytypic programs. In order to achieve this goal, we embed polytypic programming in the proof assistant Coq and provide an infrastructure for polytypic proofs. Polytypic functions are reified within Coq as a datatype and they can then be specialized by applying a dependently typed term specialization function. Polytypic functions are thus first-class citizens and can be passed as arguments or returned as results. Likewise, we reify polytypic proofs as a datatype and provide a lemma that a polytypic proof can be specialized to any datatype in the universe. The correspondence between polytypic functions and their polytypic proofs is very clear: programmers need to give proofs for, and only for, the same cases that they need to give instances for when they define the polytypic function itself. Finally, we discuss how to write (co)recursive functions and do (co)recursive proofs in a similar way that recursion is handled in Generic Haskell

    D.: Uniqueness typing redefined

    No full text
    Abstract. We modify Clean’s uniqueness type system in two ways. First, where in Clean functions that are partially applied to a unique argument are necessarily unique (they cannot lose their uniqueness), we just require that they must be unique when applied. This ultimately makes subtyping redundant. Second, we extend the type system to allow for higher rank types. To be able to do this, we explicitly associate type constraints (attribute inequalities) with type schemes. Consequently, types in our system are much more precise about constraint propagation.

    21st International Conference on Concurrency Theory (CONCUR 2010)

    No full text
    We propose a novel language construct called communicating transactions, obtained by dropping the isolation requirement from classical transactions, which can be used to model automatic error re- covery in distributed systems. We extend CCS with this construct and give a simple semantics for the extended calculus, called TransCCS. We develop a behavioural theory which is sound and complete with respect to the may-testing preorder, and use it to prove interesting laws and reason compositionally about example systems. Finally, we prove that communicating transactions do not increase the observational power of processes; thus CCS equivalences are preserved in the extended language

    Liveness of Communicating Transactions (Extended Abstract)

    No full text
    We study liveness and safety in the context of CCS extended with communicating transactions, a construct we recently proposed to model automatic error recovery in distributed systems. We show that fair-testing and may-testing capture the right notions of liveness and safety in this setting, and argue that must-testing imposes too strong a requirement in the presence of transactions. We develop a sound and complete theory of fair-testing in terms of CCS-like tree failures and show that, compared to CCS, communicating transactions provide increased distinguishing power to the observer. We also show that weak bisimilarity is a sound, though incomplete, proof technique for both may- and fairtesting. To the best of our knowledge this is the first semantic treatment of liveness in the presence of transactions. We exhibit the usefulness of our theory by proving illuminating liveness laws and simple but nontrivial examples
    corecore